<!DOCTYPE html>
<html>

<head>

<meta charset="utf-8">
<title>Server_API</title>


<style type="text/css">
body {
  font-family: Helvetica, arial, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: white;
  padding: 30px; }

body > *:first-child {
  margin-top: 0 !important; }
body > *:last-child {
  margin-bottom: 0 !important; }

a {
  color: #4183C4; }
a.absent {
  color: #cc0000; }
a.anchor {
  display: block;
  padding-left: 30px;
  margin-left: -30px;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0; }

h1, h2, h3, h4, h5, h6 {
  margin: 20px 0 10px;
  padding: 0;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  cursor: text;
  position: relative; }

h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor {
  background: url() no-repeat 10px center;
  text-decoration: none; }

h1 tt, h1 code {
  font-size: inherit; }

h2 tt, h2 code {
  font-size: inherit; }

h3 tt, h3 code {
  font-size: inherit; }

h4 tt, h4 code {
  font-size: inherit; }

h5 tt, h5 code {
  font-size: inherit; }

h6 tt, h6 code {
  font-size: inherit; }

h1 {
  font-size: 28px;
  color: black; }

h2 {
  font-size: 24px;
  border-bottom: 1px solid #cccccc;
  color: black; }

h3 {
  font-size: 18px; }

h4 {
  font-size: 16px; }

h5 {
  font-size: 14px; }

h6 {
  color: #777777;
  font-size: 14px; }

p, blockquote, ul, ol, dl, li, table, pre {
  margin: 15px 0; }

hr {
  background: transparent url() repeat-x 0 0;
  border: 0 none;
  color: #cccccc;
  height: 4px;
  padding: 0;
}

body > h2:first-child {
  margin-top: 0;
  padding-top: 0; }
body > h1:first-child {
  margin-top: 0;
  padding-top: 0; }
  body > h1:first-child + h2 {
    margin-top: 0;
    padding-top: 0; }
body > h3:first-child, body > h4:first-child, body > h5:first-child, body > h6:first-child {
  margin-top: 0;
  padding-top: 0; }

a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
  margin-top: 0;
  padding-top: 0; }

h1 p, h2 p, h3 p, h4 p, h5 p, h6 p {
  margin-top: 0; }

li p.first {
  display: inline-block; }
li {
  margin: 0; }
ul, ol {
  padding-left: 30px; }

ul :first-child, ol :first-child {
  margin-top: 0; }

dl {
  padding: 0; }
  dl dt {
    font-size: 14px;
    font-weight: bold;
    font-style: italic;
    padding: 0;
    margin: 15px 0 5px; }
    dl dt:first-child {
      padding: 0; }
    dl dt > :first-child {
      margin-top: 0; }
    dl dt > :last-child {
      margin-bottom: 0; }
  dl dd {
    margin: 0 0 15px;
    padding: 0 15px; }
    dl dd > :first-child {
      margin-top: 0; }
    dl dd > :last-child {
      margin-bottom: 0; }

blockquote {
  border-left: 4px solid #dddddd;
  padding: 0 15px;
  color: #777777; }
  blockquote > :first-child {
    margin-top: 0; }
  blockquote > :last-child {
    margin-bottom: 0; }

table {
  padding: 0;border-collapse: collapse; }
  table tr {
    border-top: 1px solid #cccccc;
    background-color: white;
    margin: 0;
    padding: 0; }
    table tr:nth-child(2n) {
      background-color: #f8f8f8; }
    table tr th {
      font-weight: bold;
      border: 1px solid #cccccc;
      margin: 0;
      padding: 6px 13px; }
    table tr td {
      border: 1px solid #cccccc;
      margin: 0;
      padding: 6px 13px; }
    table tr th :first-child, table tr td :first-child {
      margin-top: 0; }
    table tr th :last-child, table tr td :last-child {
      margin-bottom: 0; }

img {
  max-width: 100%; }

span.frame {
  display: block;
  overflow: hidden; }
  span.frame > span {
    border: 1px solid #dddddd;
    display: block;
    float: left;
    overflow: hidden;
    margin: 13px 0 0;
    padding: 7px;
    width: auto; }
  span.frame span img {
    display: block;
    float: left; }
  span.frame span span {
    clear: both;
    color: #333333;
    display: block;
    padding: 5px 0 0; }
span.align-center {
  display: block;
  overflow: hidden;
  clear: both; }
  span.align-center > span {
    display: block;
    overflow: hidden;
    margin: 13px auto 0;
    text-align: center; }
  span.align-center span img {
    margin: 0 auto;
    text-align: center; }
span.align-right {
  display: block;
  overflow: hidden;
  clear: both; }
  span.align-right > span {
    display: block;
    overflow: hidden;
    margin: 13px 0 0;
    text-align: right; }
  span.align-right span img {
    margin: 0;
    text-align: right; }
span.float-left {
  display: block;
  margin-right: 13px;
  overflow: hidden;
  float: left; }
  span.float-left span {
    margin: 13px 0 0; }
span.float-right {
  display: block;
  margin-left: 13px;
  overflow: hidden;
  float: right; }
  span.float-right > span {
    display: block;
    overflow: hidden;
    margin: 13px auto 0;
    text-align: right; }

code, tt {
  margin: 0 2px;
  padding: 0 5px;
  white-space: nowrap;
  border: 1px solid #eaeaea;
  background-color: #f8f8f8;
  border-radius: 3px; }

pre code {
  margin: 0;
  padding: 0;
  white-space: pre;
  border: none;
  background: transparent; }

.highlight pre {
  background-color: #f8f8f8;
  border: 1px solid #cccccc;
  font-size: 13px;
  line-height: 19px;
  overflow: auto;
  padding: 6px 10px;
  border-radius: 3px; }

pre {
  background-color: #f8f8f8;
  border: 1px solid #cccccc;
  font-size: 13px;
  line-height: 19px;
  overflow: auto;
  padding: 6px 10px;
  border-radius: 3px; }
  pre code, pre tt {
    background-color: transparent;
    border: none; }

sup {
    font-size: 0.83em;
    vertical-align: super;
    line-height: 0;
}

kbd {
  display: inline-block;
  padding: 3px 5px;
  font-size: 11px;
  line-height: 10px;
  color: #555;
  vertical-align: middle;
  background-color: #fcfcfc;
  border: solid 1px #ccc;
  border-bottom-color: #bbb;
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 #bbb
}

* {
	-webkit-print-color-adjust: exact;
}
@media screen and (min-width: 914px) {
    body {
        width: 854px;
        margin:0 auto;
    }
}
@media print {
	table, pre {
		page-break-inside: avoid;
	}
	pre {
		word-wrap: break-word;
	}
}
</style>

<style type="text/css">
/**
 * prism.js default theme for JavaScript, CSS and HTML
 * Based on dabblet (http://dabblet.com)
 * @author Lea Verou
 */

code[class*="language-"],
pre[class*="language-"] {
	color: black;
	background: none;
	text-shadow: 0 1px white;
	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;

	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;

	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
	text-shadow: none;
	background: #b3d4fc;
}

pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
	text-shadow: none;
	background: #b3d4fc;
}

@media print {
	code[class*="language-"],
	pre[class*="language-"] {
		text-shadow: none;
	}
}

/* Code blocks */
pre[class*="language-"] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

:not(pre) > code[class*="language-"],
pre[class*="language-"] {
	background: #f5f2f0;
}

/* Inline code */
:not(pre) > code[class*="language-"] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: slategray;
}

.token.punctuation {
	color: #999;
}

.namespace {
	opacity: .7;
}

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
	color: #905;
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
	color: #690;
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
	color: #a67f59;
	background: hsla(0, 0%, 100%, .5);
}

.token.atrule,
.token.attr-value,
.token.keyword {
	color: #07a;
}

.token.function {
	color: #DD4A68;
}

.token.regex,
.token.important,
.token.variable {
	color: #e90;
}

.token.important,
.token.bold {
	font-weight: bold;
}
.token.italic {
	font-style: italic;
}

.token.entity {
	cursor: help;
}
</style>


</head>

<body>

<h2 id="toc_0">简介</h2>

<ul>
<li><p>数据云使用 APICloud 数据云,用法参见文档: <a href="http://docs.apicloud.com/Cloud-API/data-cloud-api">http://docs.apicloud.com/Cloud-API/data-cloud-api</a></p></li>
<li><p>header请求头中必须有以下键值对,以用于验证身份:</p></li>
</ul>

<div><pre><code class="language-none">X-APICloud-AppId:A6935516227370
X-APICloud-AppKey:266ba5fdfd9706451fe94b8e5b556eec7f3674dd.1480063011286</code></pre></div>

<ul>
<li>另,加密前的appkey,考生可根据自己需要选择试用(非必须):</li>
</ul>

<div><pre><code class="language-none">02F8DDA0-10A6-8301-238B-580F06D968B2</code></pre></div>

<ul>
<li>为了方便考生,每个接口,都给出了一个 curl 的请求示例,以便于考生观察考试结果,考生可直接在 mac终端或windows命令中复制粘贴,以执行获取对应接口的数据.</li>
</ul>

<h2 id="toc_1">1.获取所有banner轮播图数据</h2>

<h3 id="toc_2">基础信息</h3>

<ul>
<li><p>接口地址: <a href="https://d.apicloud.com//mcm/api/banner?filter=%7B%22where%22:%7B%7D,%22skip%22:0,%22limit%22:20%7D">https://d.apicloud.com//mcm/api/banner?filter={&quot;where&quot;:{},&quot;skip&quot;:0,&quot;limit&quot;:20}</a></p></li>
<li><p>请求方式: GET</p></li>
</ul>

<h3 id="toc_3">curl 示例</h3>

<div><pre><code class="language-shell">curl -H &quot;X-APICloud-AppKey: 266ba5fdfd9706451fe94b8e5b556eec7f3674dd.1480063011286&quot; -H &quot;Charset: UTF-8&quot; -H &quot;X-APICloud-AppId: A6935516227370&quot; -H &quot;Accept: */*&quot; -H &quot;User-Agent: Mozilla/5.0 (Linux; Android 6.0.1; MI 3W Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/46.0.2490.76 Mobile Safari/537.36&quot; -H &quot;Host: d.apicloud.com&quot; -H &quot;Pragma: no-cache&quot; -H &quot;Cache-Control: no-cache&quot; --compressed https://d.apicloud.com//mcm/api/banner?filter=%7B%22where%22%3A%7B%7D%2C%22skip%22%3A0%2C%22limit%22%3A20%7D</code></pre></div>

<h3 id="toc_4">返回结果示例</h3>

<div><pre><code class="language-javascript">[
  {
    &quot;id&quot;: &quot;5837fd5a1b03807140e4c477&quot;,
    &quot;app_image&quot;: &quot;http://upload.jianshu.io/admin_banners/app_images/2508/c8b4158a917f0f81c842bafff5497a4c4220e513.jpg&quot;,
    &quot;link&quot;: &quot;http://www.jianshu.com/p/6f8581fd5d35&quot;,
    &quot;createdAt&quot;: &quot;2016-11-25T08:59:06.725Z&quot;,
    &quot;updatedAt&quot;: &quot;2016-11-25T08:59:15.118Z&quot;
  }
]</code></pre></div>

<h3 id="toc_5">返回值说明</h3>

<table>
<thead>
<tr>
<th>app_image</th>
<th>link</th>
</tr>
</thead>

<tbody>
<tr>
<td>banner图片地址</td>
<td>点击banner的跳转链接</td>
</tr>
</tbody>
</table>

<h2 id="toc_6">获取文章数据</h2>

<h3 id="toc_7">基础信息</h3>

<ul>
<li><p>接口地址:</p>

<ul>
<li><p>获取第1页数据: <a href="https://d.apicloud.com//mcm/api/post?filter=%7B%22where%22:%7B%7D,%22skip%22:0,%22limit%22:5,%22include%22:%22authorPointer%22%7D">https://d.apicloud.com//mcm/api/post?filter={&quot;where&quot;:{},&quot;skip&quot;:0,&quot;limit&quot;:5,&quot;include&quot;:&quot;authorPointer&quot;}</a></p></li>
<li><p>获取第2页数据: <a href="https://d.apicloud.com//mcm/api/post?filter=%7B%22where%22:%7B%7D,%22skip%22:5,%22limit%22:5,%22include%22:%22authorPointer%22%7D">https://d.apicloud.com//mcm/api/post?filter={&quot;where&quot;:{},&quot;skip&quot;:5,&quot;limit&quot;:5,&quot;include&quot;:&quot;authorPointer&quot;}</a></p></li>
<li><p>获取第3页数据: <a href="https://d.apicloud.com//mcm/api/post?filter=%7B%22where%22:%7B%7D,%22skip%22:10,%22limit%22:5,%22include%22:%22authorPointer%22%7D">https://d.apicloud.com//mcm/api/post?filter={&quot;where&quot;:{},&quot;skip&quot;:10,&quot;limit&quot;:5,&quot;include&quot;:&quot;authorPointer&quot;}</a></p></li>
</ul></li>
<li><p>请求方式: GET</p></li>
</ul>

<h3 id="toc_8">curl 示例</h3>

<div><pre><code class="language-shell">curl -H &quot;X-APICloud-AppKey: 266ba5fdfd9706451fe94b8e5b556eec7f3674dd.1480063011286&quot; -H &quot;Charset: UTF-8&quot; -H &quot;X-APICloud-AppId: A6935516227370&quot; -H &quot;Accept: */*&quot; -H &quot;User-Agent: Mozilla/5.0 (Linux; Android 6.0.1; MI 3W Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/46.0.2490.76 Mobile Safari/537.36&quot; -H &quot;Host: d.apicloud.com&quot; -H &quot;Pragma: no-cache&quot; -H &quot;Cache-Control: no-cache&quot; --compressed https://d.apicloud.com//mcm/api/post?filter=%7B%22where%22%3A%7B%7D%2C%22skip%22%3A0%2C%22limit%22%3A5%2C%22include%22%3A%22authorPointer%22%7D</code></pre></div>

<h3 id="toc_9">返回结果示例</h3>

<div><pre><code class="language-javascript">[
 {
    &quot;id&quot;: &quot;5837ff4e1acfb92b0289fbd7&quot;,
    &quot;list_image&quot;: &quot;http://upload-images.jianshu.io/upload_images/658100-2c5357790f13470b.jpg&quot;,
    &quot;title&quot;: &quot;看完这7本旅行文学名作就出发吧！&quot;,
    &quot;comments_count&quot;: 2,
    &quot;likes_count&quot;: 12,
    &quot;views_count&quot;: 164,
    &quot;slug&quot;: &quot;c5d8751c9320&quot;,
    &quot;first_shared_at&quot;: 1479486052,
    &quot;desc&quot;: &quot;自从看完詹先生的《旅行与读书》，我对旅行文学产生了浓厚的兴趣，原来旅行可以参考的不止是指南攻略，还有旅行文学。 旅行文学不仅包含目的地的美景、美食、特色风俗民情，还有作者私人的体会、感悟，全部糅杂在...&quot;,
    &quot;createdAt&quot;: &quot;2016-11-25T09:07:26.011Z&quot;,
    &quot;updatedAt&quot;: &quot;2016-11-25T09:22:37.552Z&quot;,
    &quot;author&quot;: {
      &quot;id&quot;: &quot;582c35fa265f8715126ad5a3&quot;,
      &quot;nickname&quot;: &quot;静哥的成长日记&quot;,
      &quot;avatar&quot;: &quot;http://upload.jianshu.io/users/upload_avatars/658100/0c597f7a108d.png&quot;,
      &quot;intro_compiled&quot;: &quot;互联网产品经理，深度阅读人士，信奉人在路上，心也要在路上。关注互联网发展趋势，大学生求职，英语学习，理财，旅行，个人成长。&quot;,
      &quot;total_wordage&quot;: 49966,
      &quot;total_likes_received&quot;: 1151,
      &quot;createdAt&quot;: &quot;2016-11-16T10:33:30.103Z&quot;,
      &quot;updatedAt&quot;: &quot;2016-11-25T09:04:07.692Z&quot;
    }
  }
]</code></pre></div>

<h3 id="toc_10">返回值说明</h3>

<table>
<thead>
<tr>
<th>list_image</th>
<th>title</th>
<th>desc</th>
<th>comments_count</th>
<th>likes_count</th>
<th>views_count</th>
<th>slug</th>
<th>first<em>shared</em>at</th>
<th>author.nickname</th>
<th>author.avatar</th>
<th>author. intro_compiled</th>
<th>author.total_wordage</th>
<th>author. total<em>likes</em>received</th>
</tr>
</thead>

<tbody>
<tr>
<td>文章缩略图</td>
<td>文章标题</td>
<td>文章简介</td>
<td>文章评论数</td>
<td>文章点赞数</td>
<td>文章浏览数</td>
<td>文章短连接,用于拼接处文章的详情url,如 <a href="http://www.jianshu.com/p/efa5620e15cd">http://www.jianshu.com/p/efa5620e15cd</a></td>
<td>文章发表时间,标准unix时间戳</td>
<td>作者昵称</td>
<td>作者头像</td>
<td>作者简介</td>
<td>作者写作的总字数</td>
<td>作者收到的总赞数</td>
</tr>
</tbody>
</table>



<script type="text/javascript">
var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(){var e=/\blang(?:uage)?-(\w+)\b/i,t=0,n=_self.Prism={util:{encode:function(e){return e instanceof a?new a(e.type,n.util.encode(e.content),e.alias):"Array"===n.util.type(e)?e.map(n.util.encode):e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function(e){var t=n.util.type(e);switch(t){case"Object":var a={};for(var r in e)e.hasOwnProperty(r)&&(a[r]=n.util.clone(e[r]));return a;case"Array":return e.map&&e.map(function(e){return n.util.clone(e)})}return e}},languages:{extend:function(e,t){var a=n.util.clone(n.languages[e]);for(var r in t)a[r]=t[r];return a},insertBefore:function(e,t,a,r){r=r||n.languages;var l=r[e];if(2==arguments.length){a=arguments[1];for(var i in a)a.hasOwnProperty(i)&&(l[i]=a[i]);return l}var o={};for(var s in l)if(l.hasOwnProperty(s)){if(s==t)for(var i in a)a.hasOwnProperty(i)&&(o[i]=a[i]);o[s]=l[s]}return n.languages.DFS(n.languages,function(t,n){n===r[e]&&t!=e&&(this[t]=o)}),r[e]=o},DFS:function(e,t,a,r){r=r||{};for(var l in e)e.hasOwnProperty(l)&&(t.call(e,l,e[l],a||l),"Object"!==n.util.type(e[l])||r[n.util.objId(e[l])]?"Array"!==n.util.type(e[l])||r[n.util.objId(e[l])]||(r[n.util.objId(e[l])]=!0,n.languages.DFS(e[l],t,l,r)):(r[n.util.objId(e[l])]=!0,n.languages.DFS(e[l],t,null,r)))}},plugins:{},highlightAll:function(e,t){var a={callback:t,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};n.hooks.run("before-highlightall",a);for(var r,l=a.elements||document.querySelectorAll(a.selector),i=0;r=l[i++];)n.highlightElement(r,e===!0,a.callback)},highlightElement:function(t,a,r){for(var l,i,o=t;o&&!e.test(o.className);)o=o.parentNode;o&&(l=(o.className.match(e)||[,""])[1],i=n.languages[l]),t.className=t.className.replace(e,"").replace(/\s+/g," ")+" language-"+l,o=t.parentNode,/pre/i.test(o.nodeName)&&(o.className=o.className.replace(e,"").replace(/\s+/g," ")+" language-"+l);var s=t.textContent,u={element:t,language:l,grammar:i,code:s};if(!s||!i)return n.hooks.run("complete",u),void 0;if(n.hooks.run("before-highlight",u),a&&_self.Worker){var c=new Worker(n.filename);c.onmessage=function(e){u.highlightedCode=e.data,n.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,r&&r.call(u.element),n.hooks.run("after-highlight",u),n.hooks.run("complete",u)},c.postMessage(JSON.stringify({language:u.language,code:u.code,immediateClose:!0}))}else u.highlightedCode=n.highlight(u.code,u.grammar,u.language),n.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,r&&r.call(t),n.hooks.run("after-highlight",u),n.hooks.run("complete",u)},highlight:function(e,t,r){var l=n.tokenize(e,t);return a.stringify(n.util.encode(l),r)},tokenize:function(e,t){var a=n.Token,r=[e],l=t.rest;if(l){for(var i in l)t[i]=l[i];delete t.rest}e:for(var i in t)if(t.hasOwnProperty(i)&&t[i]){var o=t[i];o="Array"===n.util.type(o)?o:[o];for(var s=0;s<o.length;++s){var u=o[s],c=u.inside,g=!!u.lookbehind,h=!!u.greedy,f=0,d=u.alias;u=u.pattern||u;for(var p=0;p<r.length;p++){var m=r[p];if(r.length>e.length)break e;if(!(m instanceof a)){u.lastIndex=0;var y=u.exec(m),v=1;if(!y&&h&&p!=r.length-1){var b=r[p+1].matchedStr||r[p+1],k=m+b;if(p<r.length-2&&(k+=r[p+2].matchedStr||r[p+2]),u.lastIndex=0,y=u.exec(k),!y)continue;var w=y.index+(g?y[1].length:0);if(w>=m.length)continue;var _=y.index+y[0].length,P=m.length+b.length;if(v=3,P>=_){if(r[p+1].greedy)continue;v=2,k=k.slice(0,P)}m=k}if(y){g&&(f=y[1].length);var w=y.index+f,y=y[0].slice(f),_=w+y.length,S=m.slice(0,w),O=m.slice(_),j=[p,v];S&&j.push(S);var A=new a(i,c?n.tokenize(y,c):y,d,y,h);j.push(A),O&&j.push(O),Array.prototype.splice.apply(r,j)}}}}}return r},hooks:{all:{},add:function(e,t){var a=n.hooks.all;a[e]=a[e]||[],a[e].push(t)},run:function(e,t){var a=n.hooks.all[e];if(a&&a.length)for(var r,l=0;r=a[l++];)r(t)}}},a=n.Token=function(e,t,n,a,r){this.type=e,this.content=t,this.alias=n,this.matchedStr=a||null,this.greedy=!!r};if(a.stringify=function(e,t,r){if("string"==typeof e)return e;if("Array"===n.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var l={type:e.type,content:a.stringify(e.content,t,r),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:r};if("comment"==l.type&&(l.attributes.spellcheck="true"),e.alias){var i="Array"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(l.classes,i)}n.hooks.run("wrap",l);var o="";for(var s in l.attributes)o+=(o?" ":"")+s+'="'+(l.attributes[s]||"")+'"';return"<"+l.tag+' class="'+l.classes.join(" ")+'" '+o+">"+l.content+"</"+l.tag+">"},!_self.document)return _self.addEventListener?(_self.addEventListener("message",function(e){var t=JSON.parse(e.data),a=t.language,r=t.code,l=t.immediateClose;_self.postMessage(n.highlight(r,n.languages[a],a)),l&&_self.close()},!1),_self.Prism):_self.Prism;var r=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return r&&(n.filename=r.src,document.addEventListener&&!r.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",n.highlightAll)),_self.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism);
</script>

<script type="text/javascript">
Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,"boolean":/\b(true|false)\b/,"function":/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/};
</script>

<script type="text/javascript">
Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,"function":/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i}),Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}}),Prism.languages.insertBefore("javascript","class-name",{"template-string":{pattern:/`(?:\\\\|\\?[^\\])*?`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,lookbehind:!0,inside:Prism.languages.javascript,alias:"language-javascript"}}),Prism.languages.js=Prism.languages.javascript;
</script>


</body>

</html>
